﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using MySql.Data.MySqlClient;

namespace MakeIT.MiraPark.Negocios
{
    public static partial class ModelBO
    {

        public static MensalistaVO getMensalistaByPlaca(string placa)
        {
            StringBuilder query = new StringBuilder();


            query.AppendLine("SELECT m.IdMensalista, m.IdCliente, c.Nome, m.IdTabelaMensal, tm.TabelaMensal, m.DiaPgto, m.QtdVagas, m.Ativo, m.Situacao ");
            query.AppendLine("FROM mensalista m LEFT JOIN tabelamensal tm on m.IdTabelaMensal = tm.IdTabelaMensal ");
            query.AppendLine("LEFT JOIN cliente c on m.IdCliente = c.IdCliente ");
            query.AppendLine("LEFT JOIN mensalistaxveiculo mv on m.IdMensalista = mv.IdMensalista ");
            query.AppendLine("WHERE mv.Placa = ?Placa AND m.Ativo AND c.Ativo ");

            MySqlCommand cmd = getConnection();
            cmd.CommandText = query.ToString();

            cmd.Parameters.AddWithValue("?Placa", placa);

            MySqlDataReader reader = null;
            try
            {
                cmd.Connection.Open();

                reader = cmd.ExecuteReader();

                MensalistaVO MensalistaVO = null;
                if (reader.Read())
                {
                    MensalistaVO = MensalistaVO.CreateMensalistaVO();
                    MensalistaVO.idMensalista = reader.GetInt32("IdMensalista");
                    MensalistaVO.clienteVO.idCliente = reader.GetInt32("IdCliente");
                    MensalistaVO.clienteVO.nome = reader.GetString("Nome");
                    MensalistaVO.tabelaMensalVO.idTabelaMensal = reader.GetInt32("IdTabelaMensal");
                    MensalistaVO.tabelaMensalVO.tabelaMensal = reader.GetString("TabelaMensal");
                    MensalistaVO.qtdVagas = reader.GetInt32("QtdVagas");
                    MensalistaVO.diaPgto = reader.GetInt32("DiaPgto");
                    MensalistaVO.ativo = (bool)reader.GetBoolean("Ativo");
                    MensalistaVO.situacao = reader.GetString("Situacao");

                }
                reader.Close();

                return MensalistaVO;
            }
            catch (Exception ex) { throw ex; }
            finally { cmd.Connection.Close(); }
        }
        public static MensalistaxVeiculoVO getVeiculoMensalistaByPlaca(string placa)
        {
            StringBuilder query = new StringBuilder();


            query.AppendLine("SELECT IdMensalista, Placa, Obs ");
            query.AppendLine("FROM mensalistaxveiculo ");
            query.AppendLine("WHERE Placa = ?Placa ");

            MySqlCommand cmd = getConnection();
            cmd.CommandText = query.ToString();

            cmd.Parameters.AddWithValue("?Placa", placa);

            MySqlDataReader reader = null;
            try
            {
                cmd.Connection.Open();

                reader = cmd.ExecuteReader();

                MensalistaxVeiculoVO mensalistaxVeiculoVO = null;
                if (reader.Read())
                {
                    mensalistaxVeiculoVO = MensalistaxVeiculoVO.CreateMensalistaxVeiculoVO();
                    mensalistaxVeiculoVO.idMensalista = reader.GetInt32("IdMensalista");
                    mensalistaxVeiculoVO.placa = reader.GetString("Placa");
                    mensalistaxVeiculoVO.obs = reader.GetString("Obs");

                }
                reader.Close();

                return mensalistaxVeiculoVO;
            }
            catch (Exception ex) { throw ex; }
            finally { cmd.Connection.Close(); }
        }

    }
}
